//
import { userAccountLogin } from '@/api/user'
// 用户状态=》登录人信息
export default {
  namespaced: true,
  // state定义可以写成函数=》和vue中data的定义类似=》避免引用 (和组件中定义到data数据都是响应式)
  state: () => ({
    // 存储当前登录人信息的变量
    profile: {
      id: '',
      avatar: '',
      nickname: '',
      account: '',
      mobile: '',
      token: ''
    }
  }),
  mutations: {
    // 存储登录人信息方法
    updateProfile (state, payload) {
      state.profile = payload
    },
    // 删除登录人信息
    delProfile (state) {
      state.profile = {}
    }
    // testToken (state, payload) {
    //   state.profile.token = payload
    // }
  },
  actions: {
    // 调用登陆接口
    /**
     *
     * @param {*} param0
     * @param {*} payload { account, password }
    */
    async loginAction ({ commit }, payload) {
      const { result } = await userAccountLogin(payload)
      console.log('login', result)
      commit('updataValue', result)
    },
    // 退出登录
    logoutAction ({ commit }) {
      /**
       * 思路:
       * 1.调用接口(如果有)
       * 2.清除本地上次登录人数据
       * 3.跳到登录页(页面/js中跳转)
      */
      commit('delProfile')
    }
  }
}
